3 research outputs found

    Adaptive techniques for scalable optimistic parallel discrete event simulation

    Get PDF
    Discrete Event Simulation (DES) can be an important tool across various domains such as Engineering, Military, Biology, High Performance Computing, and many others. Interacting systems in these domains can be simulated with a high degree of fidelity and accuracy. Furthermore, DES simulations do not rely on a global time step and simulated entities are only updated at discrete points in virtual time at which events occur. The particular DES simulation engine handles simulation logic and event scheduling, while the particular models written by domain experts need only focus on model-specific logic. As models grow in size and complexity, running simulations in parallel becomes an attractive option. However, a number of issues need to be addressed in order to effectively run DES simulations in parallel in a distributed environment. The issue of how to synchronize PDES simulations has been addressed in a number of ways, using various types of either conservative or optimistic protocols. Optimistic simulation synchronization has shown several benefits over conservative synchronization, but it is also more complex and brings with it some unique challenges. Two of these challenges are synchronizing event execution across distributed processes, and maintaining a high accuracy in the speculative execution of events. This thesis aims to address these challenges in order to make optimistic simulations even more effective and reliable. Specifically, this thesis explores a variety of GVT algorithms in an attempt to lower synchronization costs, while utilizing other techniques such as dynamic load balancing to maintain a high event execution efficiency and keep work balanced across execution units. Most importantly, these techniques aim to make the simulator robust and adaptive, allowing it to work effectively for a variety of models with different characteristics and irregularities

    Parallel Programming with Migratable Objects: Charm++ in Practice

    Get PDF
    The advent of petascale computing has introduced new challenges (e.g. Heterogeneity, system failure) for programming scalable parallel applications. Increased complexity and dynamism in science and engineering applications of today have further exacerbated the situation. Addressing these challenges requires more emphasis on concepts that were previously of secondary importance, including migratability, adaptivity, and runtime system introspection. In this paper, we leverage our experience with these concepts to demonstrate their applicability and efficacy for real world applications. Using the CHARM++ parallel programming framework, we present details on how these concepts can lead to development of applications that scale irrespective of the rough landscape of supercomputing technology. Empirical evaluation presented in this paper spans many miniapplications and real applications executed on modern supercomputers including Blue Gene/Q, Cray XE6, and Stampede
    corecore